1. Field of the Invention
The present invention relates to the field of user interfaces for computer systems. More particularly, the present invention relates to an improved user interface for handling and manipulating graphical objects in a graphical display computer environment.
2. Description of Related Art
A user interface is the means by which a user interacts with a computer system. Known user interfaces utilize windows and icons in conjunction with a cursor control device. The cursor control device, commonly a mouse or trackball device is used to position a cursor on a display. Other known cursor control devices are stylus pen-type pointers and voice command controlled cursor systems.
Cursor control devices, particularly mouse or trackball devices typically include a switch having at least two positions for generating signals to the computer to indicate a selection or other action by a user. The combination of windows, icons and a cursor control device allows a user to operate in a visual "point and click fashion" rather than through the typing of terse computer commands. "Point and click" operation refers to positioning a cursor on a display so it is over a desired image, setting a switch (usually a button) on the cursor control device into a second position (usually by depressing the button) and immediately resetting the switch to the first position (usually by releasing the button). The click generally refers to tactile and audible feedback to the user on depressing and releasing the button. An example of such a user interface is the Finder.TM. interface of the Macintosh.RTM. family of computers available from Apple.RTM. Computer, Inc. of Cupertino, Calif. The Finder interface as implemented allows a user to locate, manage and organize data files and applications on the Macintosh Computer System. Portions of this point and click interface, as well as a mouse, have been described in U.S. Pat. No. 4,464,652.
The Finder interface is the interface for doing operating system level routines, such as opening files and folders, launching applications and etc. User interfaces are also required in executing application programs. To greatly increase the ease of use of computer systems, it is important to provide consistency in the user interfaces as seen when executing different applications. The use of consistent user interfaces has not always been easily accomplished because the system level software has not always provided the mechanisms which could be universally implemented by various applications.
Previous releases of the operating system for the Macintosh have utilized a graphics engine referred to as QuickDraw and later 32-Bit QuickDraw. Other computer operating systems use other underlying graphic subsystems. For the most part, these graphic systems have left it to developers to create mechanisms for manipulating graphics objects. The result has been an inconsistent graphics manipulation model. While some consistent mechanisms have been adhered to, inconsistencies remain depending on the type of graphics object to be manipulated. That is, a bit map may be treated differently from a filled polygon, for example. Likewise, different applications will utilize different command structures and control as their interface mechanisms.
Another disadvantage of existing graphical user interface implementations is that it is often required that the user resort to command selections independently from pointing to and operating on the desired graphics object. This is done to put the application into the appropriate mode for the desired operation, referred to as modal operation. This might be done by selecting a mode command from a menu bar selection category or selecting a mode tool from a tool palette. Future generations of graphics based computers, particularly hand-held models, may forego keyboards and mode dependent interface command operations altogether. Thus, existing graphic manipulation mechanisms would prove to be altogether inadequate.
Recently, a new graphics/geometry engine has been developed whose initial applications will find use in Macintosh computers. This new system, QuickDraw GX, provides an object oriented graphic system where all graphics objects are considered equivalent objects for manipulation purposes. The QuickDraw GX system is described in U.S. Pat. No. 5,307/451 and where necessary is incorporated herein by reference. In QuickDraw GX, all graphics objects are treated generically as geometries, and when encapsulated for display purposes, referred to as shapes. Thus, to skew a bit map requires calling the same routines as skewing a filled polygon. The interface need only supply the graphics engine with the shape's identity and the desired manipulation.
With QuickDraw GX and other emerging graphic systems, it is desirable, and now possible, and therefore an object of the present invention, to provide a user interface method and apparatus for manipulating graphics objects in a consistent and non-modal way, regardless of the object-type or application running.